//: concurrency/LiftOff.java
package concurrency; /* Added by Eclipse.py */

import java.util.concurrent.TimeUnit;

// Demonstration of the Runnable interface.

public class LiftOff implements Runnable {
	protected int countDown = 10; // Default
	private static int taskCount = 0;
	private final int id = taskCount++;

	public LiftOff() {
	}

	public LiftOff(int countDown) {
		this.countDown = countDown;
	}

	public String status() {
		return "#" + id + "(" + (countDown > 0 ? countDown : "Liftoff!") + "), ";
	}

	public void run() {
		//System.out.print(Thread.currentThread().getName() + " : ");
		while (countDown-- > 0) {
			System.out.print(status());
			//Thread.yield();
			try {
				TimeUnit.MILLISECONDS.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
} // /:~
